The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.
A printer definition language (or, alternatively, “page description language”) (PDL) is a language that describes the contents of a printable page at a higher level than the level at which an actual bitmap would describe those contents. Some examples of printer definition languages include Advanced Function Presentation (AFP), Diablo, Device Independent (DVI), Eltron Programming Language (EPL), ESC/P2, Intelligent Printer Data Stream (IPDS), Metacode, Printer Command Language (PCL), Portable Document Format (PDF), PostScript, Personal Printer Data Stream (PPDS), Scalable Vector Graphics (SVG), and XSL Formatting Objects (XSL-FO).
A print stream contains information that a printing device (e.g., a printer, copying machine, or multi-function peripheral) receives and uses to print content on print media (usually paper of some kind). When such information is described in a printer definition language, the print stream that contains that information is a PDL-compliant print stream.
Typically, a PDL-compliant print stream contains two kinds of data: (1) the data that describes the content of the text and/or images that are actually to be printed and seen on the resulting printed page and (2) control data that describes other attributes of the printing task or job, but that is independent of the content itself. Examples of attributes that might be described within control data include paper size (and/or input tray), printer identity, whether the content is to be printed in color or grayscale, resolution (e.g. in dots per inch), and the number of copies to be printed. In many cases, the control data describes printing device-dependent attributes; the specific PDL in which the control data are expressed may depend on the set of PDLs that the target printing device is configured to interpret. The same printable content could be printed at different times and locations with different print control attributes.
For example, a first PDL-compliant print stream might describe a particular image (the content) and first control data that indicates that the particular image is to be printed at 300 dpi on letter-size paper in grayscale, while a second PDL-compliant print stream might describe the same particular image and second control data that indicates that the particular image is to be printed at 600 dpi on A4-size paper in color. In this example, the first and second PDL-compliant print streams both describe the same particular image, but the print streams describe very different control data. The control data in each print stream may influence the way that the resulting printed image appears, but the data that describes the actual image is the same in both print streams.
In a PDL-compliant print stream, the control data is usually formatted in a manner that is not designed for human consumption, since only the printing device itself needs to understand the control data. Most human beings would have considerable difficulty trying to decipher the meaning of the control data that is contained within a PDL-compliant print stream, especially since the control data expressed in one PDL may look vastly different from the same control data when expressed in another PDL.
Sending both the content-describing data and the control data in a single print stream typically is suitable in environments in which printing is an informal, secondary concern, such as at homes and at businesses that are not primarily in the business of printing documents in exchange for monetary compensation. Consequently, PDL-compliant print streams are commonly used to print documents in these environments. When produced by operating systems that execute on desktop computers that are used in these environments, print streams usually are PDL-compliant print streams.
However, the printing industry, including businesses whose primary concern is printing documents in exchange for monetary compensation, typically do not deal with PDL-compliant print streams. In contrast, such printing businesses typically generate two separate “packages” of information to describe a print task or job; one “package” describes the printable content but not the control data, and the other “package” describes the control data but not the printable content. Because the printable content and the control data are maintained in separate “packages,” employees of printing businesses can more easily modify the attributes described in the control data without affecting the printable content. Employees of printing businesses often find it necessary to modify such attributes in order to satisfy customer requirements, to make the best use of the available printing resources, and to produce a finished product that is of the highest possible quality.
In order to allow easy modification of the attributes, the “package” that describes the control data usually represents the attributes in a manner that human beings can read and understand. Indeed, human beings often are the entities that generate the control data under the circumstances described. The “package” that describes the control data is called the “job ticket.”
Because the relatively affordable desktop systems that are used in less print-intensive environments usually produce only PDL-compliant print streams, in which the printable content data is mixed with the control data, the printing industry may be hesitant to adopt these desktop systems, despite the affordability of these desktop systems. The difficulty that employees of print-focused businesses might have in understanding and modifying the control data contained within PDL-compliant print streams could prevent such businesses from using affordable desktop systems (and the software that executes on such systems) to generate print streams. Indeed, because the difficult-to-understand control data is mixed with the printable content in PDL-compliant print streams, a human being's attempt to modify the control data in a PDL-compliant print stream might often result in the human being accidentally corrupting the data that describes the printable content.